Relay apparatus, information processing system and method

ABSTRACT

An information processing system includes a request receiver to receive a terminal request including a plurality of apparatus identification information, transmitted from communication terminals, used for identifying each of the plurality of apparatuses; a request processor to accumulate the received terminal request into a request accumulation unit; a request transmitter, upon receiving an obtaining request for obtaining a terminal request from an apparatus identified by the apparatus identification information, to transmit the terminal request accumulated in the request accumulation unit to the apparatus; a result receiver to receive a process result for the terminal request from the apparatus; and a result transmitter to transmit the received process result to a communication terminal. The request processor transfers the terminal request from one request accumulation unit of one apparatus transmitting a process result to other request accumulation unit of other apparatus not transmitting a process result.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims priority pursuant to 35 U.S.C. §119 to JapanesePatent Application No. 2013-052717, filed on Mar. 15, 2013 in the JapanPatent Office, the disclosure of which is incorporated by referenceherein in its entirety.

BACKGROUND

1. Technical Field

The present invention relates to a relay apparatus to relaycommunication between a plurality of apparatuses and at least onecommunication terminal connected to different networks, an informationprocessing system, and a computer-readable program storing a programcontrolling relaying communication between apparatuses and at least oneterminal.

2. Background Art

In homes and companies, local networks, independent of a global networksuch as the Internet, are configured to communicate data safely withinthe homes and companies. These local networks may include, for example,a fire wall as security measures to prohibit a direct access to thelocal networks from the global network, in which an access from theglobal network to the local networks is restricted such as prohibited.

With the wide use of portable terminals such as smart phones, there is ademand to access the in-house local networks from the global network touse information stored in the offices outside.

FIG. 1 shows one configuration to achieve such demand. FIG. 1 shows anetwork environment composed of a global network 10 and a local network11 in which a fire wall 12 is disposed between the global network 10 andthe local network 11. The fire wall 12 could be software, hardware or acombination of software and hardware that controls communication betweena specific network and an external environment such as external networkto protect safety of apparatuses connected to the specific network.

In the network environment of FIG. 1, a portable terminal 13 isconnect-able to the global network 10, and a file server 14 for storingand managing files is connected to the local network 11. Further, theglobal network 10 is connected to a file server 15 provided with a largememory space to store and manage a large number of files.

In the configuration of FIG. 1, the files stored in the file server 14can be copied and stored in the file server 15. The portable terminal 13can access the file server 15 via a base station 16 to access suchcopies of files.

However, in the configuration of FIG. 1, information is stored on theglobal network 10, which is vulnerable to security attacks. Therefore,instead of the file server 15, a relay server 17 can be disposed asshown in FIG. 2.

The relay server 17 relays communication between the portable terminal13 and the file server 14. Therefore, the relay server 17 receives arequest from the portable terminal 13 and transmits the received requestto the file server 14 on the local network 11. Then, the relay server 17receives a process result from the file server 14 and transmits theprocess result to the portable terminal 13.

FIG. 3 illustrates a system configuration having the relay server 17disposed on a network system in which files in the portable terminal 13are uploaded to a plurality of servers such as file servers 14 and 18.The relay server 17 is connected to the global network 10, and further,a local network 11 a of an entity (office or site) A, a local network 11b of an entity B, and a 3G line 19 as are connected to the globalnetwork 10. The 3G line 19 is a communication network for portablephones.

Further, fire walls 12 a, 12 b and 12 c are disposed between the globalnetwork 10 and the local networks 11 a and 11 b, and the 3G line 19 assecurity measures. The file server 14 is connected to the local network11 a, the file server 18 is connected to the local network 11 b, and theportable terminal 13 is connected to the 3G line 19 via the base station16.

In this system configuration, the user may upload the file to the fileservers as follows. (1) The portable terminal 13 is connected to thefile server 14 via the relay server 17. (2) A file in the portableterminal 13 is transmitted to the file server 14 via the relay server17. (3) The portable terminal 13 is disconnected from the file server14, and the portable terminal 13 is connected to the file server 18 viathe relay server 17. (4) A file in the portable terminal 13 istransmitted to the file server 14 via the relay server 18.

However, in this system configuration, the user may need to conduct aconnection process to each one of file servers using the portableterminal and then transmits a file, which is not so convenient for theuser due to such user operations.

SUMMARY

In one aspect of the present invention, an information processing systemincluding a plurality of apparatuses connectable via different networksis devised. The information processing system includes a requestreceiver to receive a terminal request including a plurality ofapparatus identification information, transmitted from a communicationterminal, the apparatus identification information being used foridentifying each of the plurality of apparatuses; a request processor toaccumulate the received terminal request into one of a plurality ofrequest accumulation units that corresponds to one of the apparatusidentification information included in the terminal request; a requesttransmitter to, in response to receiving an obtaining request forobtaining a terminal request from an apparatus identified by theapparatus identification information, transmit the terminal requestaccumulated in the request accumulation unit to the apparatus; a resultreceiver to receive a process result of the terminal request from theapparatus; and a result transmitter to transmit the received processresult to the communication terminal. Among the plurality of apparatusidentification information included in the terminal request, the requestprocessor transfers the terminal request from a first requestaccumulation unit corresponding to apparatus identification informationof a first apparatus, from which a process result is received, to asecond request accumulation unit corresponding to apparatusidentification information of a second apparatus, from which a processresult is not yet received.

In another aspect of the present invention, a relay apparatus forrelaying communication between a plurality of apparatuses and aplurality of communication terminals connectable via different networksis devised. The relay apparatus includes a request receiver to receive aterminal request including a plurality of apparatus identificationinformation, transmitted from the communication terminals, used foridentifying each of the plurality of apparatuses; a request processor toaccumulate the received terminal request into a request accumulationunit corresponding to one of the plurality of apparatus identificationinformation included in the terminal request; a request transmitter,upon receiving an obtaining request for obtaining a terminal requestfrom an apparatus identified by the apparatus identificationinformation, to transmit the terminal request accumulated in the requestaccumulation unit to the apparatus; a result receiver to receive aprocess result for the terminal request from the apparatus; and a resulttransmitter to transmit the received process result to the communicationterminals, Among the plurality of apparatus identification informationincluded in the terminal request, the request processor transfers theterminal request from a first request accumulation unit corresponding toapparatus identification information of a first apparatus, from which aprocess result is received to a second request accumulation unitcorresponding to apparatus identification information of a secondapparatus, from which a process result is not yet received.

In another aspect of the present invention, a method of relayingcommunication between a plurality of apparatuses and a plurality ofcommunication terminals connectable via different networks is devised.The method includes the steps of receiving a terminal request includinga plurality of apparatus identification information, transmitted fromthe communication terminals, used for identifying each of the pluralityof apparatuses (receiving step); accumulating the received terminalrequest into a request accumulation unit corresponding to one of theapparatus identification information included in the terminal request(accumulating step); transmitting the terminal request accumulated inthe request accumulation unit, upon receiving an obtaining request forobtaining a terminal request from an apparatus identified by theapparatus identification information, to the apparatus (firsttransmitting step); receiving a process result for the terminal requestfrom the apparatus (receiving step); transmitting the received processresult to at least one of the communication terminals (secondtransmitting step); and transferring the terminal request from a firstrequest accumulation unit corresponding to apparatus identificationinformation of a first apparatus, from which a process result isreceived, to a second request accumulation unit corresponding toapparatus identification information of a second apparatus, from which aprocess result is not yet received, among the plurality of apparatusidentification information included in the terminal request,(transferring step).

BRIEF DESCRIPTION OF THE DRAWINGS

A more complete appreciation of the disclosure and many of the attendantadvantages and features thereof can be readily obtained and understoodfrom the following detailed description with reference to theaccompanying drawings, wherein:

FIG. 1 is a schematic configuration of one system for accessing files onapparatuses from an external network, according to the related art;

FIG. 2 is a schematic configuration of another system of accessing fileson apparatuses from an external network, according to the related art;

FIG. 3 is a schematic configuration of system for uploading files toconventional two apparatuses;

FIG. 4 is a schematic configuration of an information processing systemaccording to an example embodiment;

FIG. 5 is a schematic configuration of the information processing systemwhen files are uploaded to a plurality of file servers;

FIG. 6 is a functional block diagram of the information processingsystem of FIG. 4;

FIG. 7 is a sequential chart when paring a communication terminal and afile server;

FIG. 8 is an example of a screen displayed when paring with a fileserver is conducted;

FIG. 9 is an example of contents of a code displayed on a screen;

FIG. 10 is an example of a screen displayed on a communication terminal;

FIG. 11 is a flowchart showing the steps of verification when paring isconducted;

FIG. 12 is an example of a screen displayed on a communication terminalwhen paring is success;

FIG. 13 is a flowchart showing the steps of a process conduct-able by arelay server after receiving a terminal request from a communicationterminal;

FIG. 14 is a flowchart showing the steps of generating a terminalrequest;

FIG. 15 is an example of contents of upload request;

FIG. 16 is a sequential chart of uploading files to a plurality of fileservers a plurality of file servers; and.

FIG. 17 is an example of contents of upload request when uploading to aplurality of file servers

The accompanying drawings are intended to depict exemplary embodimentsof the present invention and should not be interpreted to limit thescope thereof. The accompanying drawings are not to be considered asdrawn to scale unless explicitly noted, and identical or similarreference numerals designate identical or similar components throughoutthe several views.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

A description is now given of exemplary embodiments of the presentinvention. It should be noted that although such terms as first, second,etc. may be used herein to describe various elements, components,regions, layers and/or sections, it should be understood that suchelements, components, regions, layers and/or sections are not limitedthereby because such terms are relative, that is, used only todistinguish one element, component, region, layer or section fromanother region, layer or section. Thus, for example, a first element,component, region, layer or section discussed below could be termed asecond element, component, region, layer or section without departingfrom the teachings of the present invention.

In addition, it should be noted that the terminology used herein is forthe purpose of describing particular embodiments only and is notintended to be limiting of the present invention. Thus, for example, asused herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. Moreover, the terms “includes” and/or “including”, when usedin this specification, specify the presence of stated features,integers, steps, operations, elements, and/or components, but do notpreclude the presence or addition of one or more other features,integers, steps, operations, elements, components, and/or groupsthereof.

Furthermore, although in describing views shown in the drawings,specific terminology is employed for the sake of clarity, the presentdisclosure is not limited to the specific terminology so selected and itis to be understood that each specific element includes all technicalequivalents that have the same function, operate in a similar manner,and achieve a similar result.

Referring now to the drawings, a description is given of an apparatus orsystem for an information processing system according to an exampleembodiment.

FIG. 4 is a schematic configuration of an information processing systemaccording to an example embodiment. An information processing system 100shown in FIG. 4 is connected to a global network, and a plurality oflocal networks. The global network is a wide area communication networksuch as the Internet, which can be accessed from other networks freely.The local network is a localized network such as a local area network(LAN), and access to the local network from other networks isrestricted.

A relay server 110 and a communication terminal 120 can be connected tothe global network. The relay server 110 and the communication terminal120 can be connected to the global network wirelessly or wired. When therelay server 110 and communication terminal 12 are connected to theglobal network wirelessly, the relay server 110 and communicationterminal 12 can be connected to the global network using 3G line,wireless LAN, Bluetooth (registered trademark) or the like.

A file server 130 is connected to one of a plurality of the localnetworks. The file server 130 includes a relay agent 131, a file service132 and a memory 133. The relay agent 131 can communicate with the relayserver 110.

A file server 140, having the same or similar configuration of the fileserver 130, is connected to other local network. Further, another fileserver, having the same or similar configuration of the file server 130,is connected another local network.

The information processing system 100 may be configured with a pluralityof apparatuses such as the relay server 110, the communication terminal120, and the plurality of file servers 130 and 140.

FIG. 4 shows one configuration that the file server 130 includes therelay agent 131, the file service 132 and the memory 133, but the fileservice 132 and the memory 133 can be disposed in other apparatus, inwhich the other apparatus is connected to the same local network thatthe file server 130 is connected.

Each of the local networks is connected to the global network via acommunication regulation apparatus such as a fire wall 150 to regulateaccess from other local networks.

The communication terminal 120 transmits a terminal request) to aplurality of apparatuses. The terminal request is, for example, anupload request to upload a file, stored in the communication terminal120, to the file server 130 and the file server 140. The upload requestis one example of the terminal request, and the terminal request is notlimited hereto.

The terminal request includes apparatus identification information suchas file server identifier to identify apparatuses such as the fileserver 130 and the file server 140. Further, if the terminal request isthe upload request, the upload request includes one or more uploadingfiles. The uploading file is, for example, an image file such as JPGfile. The file server identifier may be characters, symbols, numerals,and a combination of thereof.

Further, the terminal request may include address of the communicationterminal 120. The address of the communication terminal 120 is used toreturn a process result from the apparatus such as the file server 130and the file server 140 to the communication terminal 120 as a responseto the terminal request. The address may be, for example, internetprotocol (IP) address but not limited hereto.

The communication terminal 120 includes a memory and a centralprocessing unit (CPU). The memory stores applications, operating system(OS), firmware, various data or the like used for generating variousterminal requests. The CPU reads out the application or the like fromthe memory and executes the application or the like. Further, thecommunication terminal 120 includes a network interface (I/F)connectable to the global network. Further, the communication terminal120 may include an input device to input data, a display unit to displayinformation, an audio input device to input audio, and an audio outputdevice to output audio. Further, the communication terminal 120 mayinclude a capturing device such as a camera to capture images. Thecommunication terminal 120 is, for example, a notebook personal computer(PC), a tablet PC, a personal digital assistant (PDA), a smart phone, agame machine or the like.

The relay server 110 relays the terminal request from the communicationterminal 120 to the file server 130 and/or the file server 140, andrelays a process result of the terminal request from the file server 130and/or the file server 140 to the communication terminal 120, whichmeans the relay server 110 functions as a relay apparatus.

The relay server 110 includes cues 111 and 112 for each of file serversas a request accumulation unit, wherein the cue 111 is corresponded tothe file server 130 and the cue 112 is corresponded to the file server140, and the cues are used to transmit the terminal request to aplurality of apparatuses such as the file servers 130 and 140. FIG. 4shows the cue 111 used for the file server 130 and the cue 112 used forthe file server 140.

Upon receiving the upload request from the communication terminal 120,the relay server 110 extracts a file server identifier included in thereceived upload request, and the relay server 110 selects the fileserver identifier, and puts the upload request having the selected fileserver identifier to a corresponding cue such as the cue 111, andaccumulates the upload request in the cue. The cues 111 and 112 may be,for example, first-in-first-out (FIFO) cue. Each of the cues 111 and 112is assigned with the file server identifier of the file servers 130 and140 respectively.

Therefore, when the relay server 110 receives an obtaining request toobtain the terminal request from the corresponding file server 130, therelay server 110 can extract the terminal request from the cue 111 forthe file server 130, and can transmit the terminal request.

File servers such as the file server 130 and the file server 140 canstore various files, read out files based on a terminal request, andwrite files. In this description, an example of using file server isdescribed, but not limited to the file server. For example, personalcomputers (PCs), multi-functional peripherals (MFPs), printers or thelike can be used. Because a plurality of file servers can use the sameconfiguration used for the file server 130, only the file server 130 isdescribed as an example of file server.

The relay agent 131 of the file server 130 conducts communication withthe relay server 110. When the relay agent 131 receives the terminalrequest, and the relay agent 131 instructs a given processing for theterminal request to the file service 132. Upon receiving the instructionfrom the relay agent 131, the file service 132 conducts a givenprocessing such as reading out a requested file or writing a file, andgenerates a process result. The memory 133 stores and retains files. Therelay agent 131 transmits the process result generated by the fileservice 132 to the relay server 110.

For example, if the terminal request is a request for uploading andstoring a file, the file service 132 stores the received file in thememory 133. Then, the file service 132 generates a message that the fileis correctly stored as a process result.

The file server 130 can convert a file prepared by using a documentapplication and a presentation application to an image file such as JPGfile. Therefore, even if the communication terminal 120 uses a platformthat cannot print a file prepared by the document application and thepresentation application, the concerned file can be printed.

The relay server 110, and the file servers 130 and 140 may employ asimilar hardware configuration including a memory to store various data,files, and programs, and a central processing unit (CPU) to readprograms from the memory and executes the programs. By executing theprograms using the CPU, processing at each of the servers can beconducted. For example, in case of the relay server 110, the relayserver 110 conducts a relay operation to relay a terminal request and aprocess result between apparatuses such as between the communicationterminal 120 and the file servers 130 and 140. In case of the fileservers 130 and 140, the CPU may function as the relay agent 131 and thefile service 132, and the CPU conducts processing conducted by the abovementioned relay agent and file service.

The relay server 110, and the file servers 130 and 140 can also includean input device such as a keyboard and a mouse for inputting data, and adisplay unit such as a display and a screen for displaying information.Further, other file servers may employ a similar hardware configurationof the file servers 130 and 140.

A description is given of uploading files to a plurality of file servers130 and 140 with FIG. 5, which schematically shows processingconduct-able by the relay server 110 when uploading files to a pluralityof file servers 130 and 140.

An upload request includes one or more upload request messages, and fileserver identifiers of the file servers 130 and 140. The upload requestmessage includes a statement that file storing is to be conducted as aprocess, information of storing destination of file to be transmittedwith the upload request message, and file names to be stored. Uponreceiving the upload request from the communication terminal 120, therelay server 110 extracts file server identifiers included in the uploadrequest. In this example case, a file server identifier of the fileserver 130 is set as “aaa,” and a file server identifier of the fileserver 140 is set as “bbb.”

The relay server 110 puts the upload request to one of the cues 111 and112 set for file servers identified by the extracted file serveridentifier. If the number of file server identifiers is two, the uploadrequest is put into one of the two cues identified by the correspondingtwo file server identifiers.

If the terminal request includes server ID and related server ID to bedescribed later, the upload request is put into a cue corresponding tothe server ID.

However, the configuration is not limited hereto. For example, when fileservers or cues are assigned with numbers, upload requests can be put inthe order of numbers such as from the smallest number to the greatestnumber. Further, when file servers or cues are assigned with alphabetsin stead of numbers, upload requests can be put in the order ofalphabets such as A, B, C . . . . The order of numbers or alphabets canbe set in advance.

The upload request put in one cue such as the cue 111 is accumulated inthe cue 111 until the upload request put is transmitted to thecorresponding file server 130. The corresponding file server 130transmits an obtaining request for obtaining a terminal request to therelay server 110, for example, periodically. Therefore, the relay server110 responds to the obtaining request, and transmits the upload requestaccumulated in the cue 111 used for the file server 130 to the fileserver 130.

Similarly the file server 140 also transmits an obtaining request to therelay server 110 periodically. However, at this stage, if a terminalrequest from

other communication terminal is not put in the cue 112 used for the fileserver 140, the cue 112 does not include the terminal request, in whichthe relay server 110 transmits nothing.

The file server 130 conducts processing based on an upload requestmessage included in the received upload request, and generates a processresult. Then, the file server 130 transmits the process result to therelay server 110.

Upon receiving the process result from the file server 130, the relayserver 110 deletes the file server identifier of the file server 130included in the upload request.

Then, the relay server 110 transfers the upload request from the cue 111to the cue 112, in which among file server identifiers included in theupload request, a file server identifier which does not receive aprocess result is transferred to the cue 112.

Because the file server identifier “aaa” of the file server 130 isdeleted as above described, the upload request stored in the cue 112includes only the file server identifier “bbb” of the file server 140.The file server 140 transmits an obtaining request to the relay server110. Upon obtaining a upload request from the relay server 110, the fileserver 140 conducts processing based on the upload request messageincluded in the upload request, and generates a process result. Then,the file server 140 transmits the process result to the relay server110.

Upon completing this processing, the file server identifier “bbb” of thefile server 140 is also deleted. With this deletion, the upload requestdoes not include any file server identifier, which means destination foruploading the file does not exist, and therefore the relay server 110deletes this upload request. Then, the relay server 110 transmits theprocess result to the communication terminal 120, and ends theprocessing for this upload request.

The information processing system 100 includes a plurality of functionalunits shown in FIG. 6 to devise the above described processing. Thesefunctional units can be implemented by executing programs read from thememory using the CPU. The functional units shown in FIG. 6 can beentirely included in the relay server 110 used as a relay apparatus or apart of the functional units can included in the relay server 110 and aremaining part of the functional units are included in other apparatus.The other apparatus may be, for example, PCs, multi-functionalperipherals (MFPs), print servers connectable to the global network.

The information processing system 100 includes a request receiver 200 toreceive a terminal request including the file server identifier,transmitted from the communication terminal 120

Further, the information processing system 100 includes a requestprocessor 201, which puts the terminal request received by the requestreceiver 200 to a cue, for example, the cue 111 corresponding to one offile server identifiers included in the terminal request, andaccumulates the terminal request. In this example case, two fileidentifiers (one for the file server 130 and one for the file server140) are included.

The request processor 201 extracts a plurality of file serveridentifiers included in the terminal request. The request processor 201selects one of the file server identifiers by referring the terminalrequest. The request processor 201 puts the concerned terminal requestto the cue 111 used for the file server 130 assigned with the selectedfile server identifier, and accumulates the concerned terminal request.

The information processing system 100 includes a request transmitter202, which transmits the terminal request, accumulated in the cue 111used for the file server 130, to the file server 130 upon receiving anobtaining request from the file server 130.

Further, the information processing system 100 includes a resultreceiver 203 and a result transmitter 204. The result receiver 203receives a process result for the concerned terminal request from thefile server 130, and the result transmitter 204 transmits the receivedprocess result to the communication terminal 120.

Upon receiving the process result from the file server 130, the requestprocessor 201 transfers the terminal request put in the cue 111 to othercue such as the cue 112.

In this process, the request processor 201 compares the file serveridentifier of the file server 130, from which the result receiver 203receives a process result, and other file server identifiers included inthe terminal request.

Based on this comparison, the request processor 201 deletes a fileserver identifier matched to the file server identifier of the fileserver 130 from the terminal request. Then, the request processor 201puts the terminal request, which has deleted the file server identifierof the file server 130, to the cue 112.

Similarly, upon receiving an obtaining request from the file server 140,the request transmitter 202 transmits the terminal request accumulatedin the cue 112 to the file server 140, and the result receiver 203receives a process result from the file server 140.

Similar to the above, the request processor 201 deletes the file serveridentifier of the file server 140 from the terminal request. Then, therequest processor (201) determines whether the terminal request stillincludes one or more file server identifiers. In this example case, therequest processor 201 determines that the terminal request does notinclude a file server identifier. If the terminal request does notinclude a file server identifier, it means a cue for a transferdestination does not exist. Therefore, the request processor 201 deletesthe terminal request, and then the result transmitter 204 transmits aprocess result to the communication terminal 120.

By transmitting the terminal request including file server identifiersof a plurality of file servers and transferring the terminal request tothe cues sequentially as described above, files can be transmitted to aplurality of file servers connected to different networks bytransmitting the terminal request for one time.

In an example case of FIG. 6, the information processing system 100includes the file servers 130 and 140, the communication terminal 120,the request receiver 200, the request processor 201, the requesttransmitter 202, the result receiver 203, and the result transmitter204. However, the information processing system 100 can include otherfunctional units in addition to the units shown in FIG. 6.

As to communication between the communication terminal 120 and the fileserver 130 or the file server 140, a paring processing is required atfirst, in which two apparatuses are paired and registered to registerthe file servers 130 and 140 as apparatuses that can be accessed fromthe communication terminal 120.

FIG. 7 is a sequential chart showing a process of paring. In thisexample case, an apparatus such as the communication terminal 120 andthe file server 130 are paired. For example, code including apparatusinformation and verification information of a to-be-registered apparatusis displayed on a display unit disposed for the file server 130. Theapparatus information includes, for example, QR code (registeredtrademark) and color code. In this case, the display unit is included inthe file server 130, but a personal computer (PC) connected to the fileserver 130 can be used as the display unit.

FIG. 8 shows an example screen displayed on the display unit, in which ascreen including a code is displayed. The code shown in FIG. 8 includes,for example, information shown in FIG. 9. For example, the informationincludes server identification (ID) that is a file server identifier ofthe to-be-registered file server 130, internet protocol (IP) address ofthe file server 130, address of the relay server 110, verificationinformation such as one-time password. Further, the code may includeother information such that a plurality of file servers can beregistered, in which one server such as the file server 130 having theabove server ID is registered as a main server, and other server such asthe file server 140 having the related server ID is registered as arelated server, and the server IDs can be included in the code as shownin FIG. 8.

The server ID and related server ID can be characters, symbols,numerals, or a combination of these. The IP address is, for example,“192.168.0.2” as shown in FIG. 8. The address of the relay server 110 isuniform resource locator (URL), uniform resource identifier (URI), or IPaddress such as “relay.test.co.jp.” The one-time password is passwordthat can be used only one time for verification, which can becharacters, symbols, numerals such as “0123456789,” or a combination ofthese. The one-time password is not limited thereto. For example, theone-time password can be generated by using manufacturing number andsecurity code registered to the relay server 110, time, or the like.

A user can capture a code displayed on the display unit using thecommunication terminal 120 as shown in FIG. 10. The user operates thecommunication terminal 120 so that the code displayed on the displayunit of the file server 130 exists in a frame displaying “read code” ofthe communication terminal 120 and then presses a capture button tocapture the code.

If the code includes one-time password, the one-time password istransmitted to the file server 130 within a time period set in advance.Only when the file server 130 receives the one-time password within thetime period, the verification becomes success. When the verification issuccess, the file server 130 generates a user name and a password usedfor access to the communication terminal 120. The user name and passwordare used when the communication terminal 120 transmits the terminalrequest.

If the file server 130 does not receives the one-time password withinthe time period, the verification becomes failed, and the file server130 transmits an error message to the communication terminal 120.

To devise this processing, in addition to the functional units shown inFIG. 6, the information processing system 100 can further include adisplay unit to display the code including verification information,wherein the communication terminal 120 can read the code displayed onthe display unit.

Further, the information processing system 100 can further include aninformation determination unit that determines whether verificationinformation received from the communication terminal 120 matchesverification information included in the code.

Further, the information processing system 100 can further include acode generator that generates a code using verification information. Thecode can be generated using specific software such as a code generationtool.

The information processing system 100 can further include an informationregistration unit. If it is determined that the verification informationare matched, the information registration unit registers a plurality offile server identifiers included in the code as file server identifiersof file servers that can communicate with the communication terminal120.

With this registration, communication can be conduced with a pluralityof file servers without knowing information of a plurality of fileservers in advance.

A description is given of a flowchart showing the steps of verificationwhen paring is conducted with reference to FIG. 11. The process startsat step S1100. At step S1110, a code displayed on the display unit isread by the communication terminal 120 to obtain data required forverification. The data required for verification includes verificationinformation such as one-time password. In this example case, theverification information is one-time password, but other information canbe used as the verification information.

At step S1120, the ID of the communication terminal 120 and one-timepassword included in the code are transmitted.

At step S1130, the file server 130 determines whether the one-timepassword is correct, in which it is determined whether the one-timepassword included in the code displayed by the file server 130 and theone-time password received from the communication terminal 120 arematched with each other

If the verification is success, the process proceeds to step S1140, andif the verification is failed, the process proceeds to step S1170.

At step S1140, a screen indicating verification success is displayed.

At step S1150, a server ID, a related server ID, IP address, address ofthe relay server 110 obtained by reading the code by using thecommunication terminal 120 are stored as information of the registeredfile server.

At step S1160, the file server 130 transmits the user name and passwordused for access to the communication terminal 120, and the paringprocess is completed at step S1180.

At step S1170, an error message is reported or transmitted, and a screenindicating the verification failure is displayed. Then, the processproceeds to step S1180, and the paring process is completed.

FIG. 12 is an example screen displayed on the communication terminal 120when the paring is success. The example screen includes a statement thatregistration is success, and the user name used for access, server ID,IP address, and related server ID. In the example screen, the passwordused for access is not included, but the password can be included.

A description is given of a process conducted by the relay server 110after receiving the terminal request from the communication terminal 120with reference to FIG. 13. At step S1300, the process starts. At stepS1310, it is determined whether an obtaining request to obtain theterminal request from the file server 130 exist. If the obtainingrequest does not exist, the determination of step S1310 is repeateduntil the obtaining request is detected.

If the obtaining request exists, the process proceeds to step S1320, andthe relay server 110 determines whether a terminal request matched tothe file server identifier of the file server 130 exists.

By referring the cue 111 used for the file server 130 assigned with the

file server identifier, it can determine whether a terminal requestmatched to the file server identifier of the file server 130 exists.This determination can be conducted using, for example, the requestprocessor 201 shown in FIG. 6.

If the relay server 110 determines that a terminal request matched tothe file server identifier of file server 130 does not exist, theprocess returns to step S1310.

By contrast, if the relay server 110 determines that a terminal requestmatched to the file server identifier of file server 130 exists, theprocess proceeds to step S1330, and the request transmitter 202transmits the terminal request matched to the file server identifier tothe file server 130.

At step S1340, it is determined whether a process result is receivedfrom all of the file servers identified by the file server identifiersincluded in the terminal request

If a process result is not received from all of the file servers, theprocess proceeds to step S1350, in which a file server identifier of afile server from which it is determined that a process result isreceives, is deleted, and the terminal request is transferred to othercue such as the cue 112. The other cue such as the cue 112 is a cuecorresponding one of the file server identifiers included in theterminal request, and for a file server from which a process result isnot received

If a process result is received from all of the file servers, theprocess proceeds to step S1360 in which the terminal request is deleted,and the process ends at step S1370.

The information processing system 100 shown in FIG. 6 can include otherfunctional unit such as a request generator, which receives an inputfrom a user, and adds a plurality of file server identifiers registeredin the information registration unit to generate a terminal request.

A description is given of a process of generating a terminal request bythe request generator with reference to FIG. 14, which is a flowchartshowing the steps of generating a terminal request.

At step S1400, the process starts. At step S1410, an input from a useris received, and then a request is generated. This request is generated,for example, as http request. The http request includes a header and abody. The http request is generated without including a file serveridentifier in the header and without including a file in the body atthis stage.

Specifically, the request is generated by including one ore more uploadrequest messages and user names or the like. The input from the user is,for example, input or selection of the above mentioned user name, inputor selection of types of requests such as upload request.

At step S1420, the file server identifier of the file server 130, whichis pared, is added to the header. The added file server identifier isthe server ID.

At step S1430, a file path to a file serve, which is the uploaddestination, is added. The file path is, for example, address of therelay server 110, and IP address of the file server 130.

At step S1440, it is determined whether the file is uploaded to aplurality of file servers, wherein this determination can be conductedby checking whether the registered information includes the relatedserver ID.

If the file is uploaded to the plurality of file servers (step S1440:YES), the process proceeds to step S1450, in which a file serveridentifier of added file server is added, and the process proceeds tostep S1460. If the file is not uploaded to the plurality of file servers(step S1440: NO), the process proceeds to step S1460 directly.

At step S1460, a uploading file is added to the body, and the processends at step S1470. The uploading file is, for example, pictures, imagesor the like.

The file server identifiers of all file servers included in registeredinformation is not required to be added. For example, only file serveridentifiers designated by a user in advance can be added.

FIG. 15 is an example of contents of upload request. The upload requestincludes URL that stores a file to be uploaded, a server ID of a fileserver which is the upload destination, and verification informationsuch as a user name and a password used for access. The server ID is thefile server identifier. In this example case, a site that stores a fileis indicated by URL, but not limited these. For example, URI, databasename or folder name can be used as a site that stores a file

FIG. 16 is a sequential chart showing a process of uploading files to aplurality of file servers, in which the relay server 110 receives anobtaining request from the relay agents of the file servers 130 and 140periodically. A description is given of communication between thecommunication terminal 120 and the file server 130 for the simplicity ofdescription.

If the relay server 110 does not accumulate an upload request in the cue111 used for the file server 130, there is no upload requests to betransmitted to the relay agent 131. Therefore, no further processing isconducted.

Upon receiving a upload request from the communication terminal 120, therelay server 110 puts the upload request to the cue 111 used for thefile server 130, and waits until receiving an obtaining request from therelay agent 131. Upon receiving the obtaining request from the relayagent 131, the relay server 110 transmits the upload request, put to thecue 111, to the relay agent 131.

Upon receiving the upload request, the relay agent 131 transmits anupload request message to the file service 132, and instructs a givenprocessing. The file service 132 conducts the processing based on theupload request message, and generates a process result and returns theprocess result to the relay agent 131, in which the process result is anupload result.

The relay agent 131 transmits the upload result, received from the fileservice 132, to the relay server 110.

If the upload result is not received from the file servers correspondingto all file server identifiers included in the terminal request, theterminal request is transferred from the cue 111 used for the fileserver 130 to a cue used for a file server from which not yet receivingthe upload result. In this process, the file server identifier of thefile server 130 from which receiving the upload result is deleted fromthe terminal request, and then the terminal request is put into the cuefrom which not yet receiving the upload result. Then, the relay server110 waits an obtaining request from the file server from which not yetreceiving the upload result.

When the relay server 110 receives the upload result from all of thefile servers corresponding to the file server identifiers included inthe terminal request, the relay server 110 deletes the upload request.After the deletion, the relay server 110 transmits the upload resultcorresponding to the upload request to the communication terminal 120.

FIG. 17 is an example of the contents of upload request when uploadingto a plurality of file servers. The upload request includes URL thatstores a file to be uploaded, a server ID of a file server which is theupload destination, and verification information such as a user name anda password used for access. The server ID is the file server identifier.In this example case, a site that stores a file is indicated by URL, butnot limited these. For example, URI, database name or folder name can beused as a site that stores a file.

In a case of FIG. 15, only the server ID is included, but in a case ofFIG. 17, a plurality of related server IDs is included because a file isuploaded to a plurality of file servers. For example, file serveridentifiers of one server ID and two related server IDs (i.e., threefile servers) are included.

The number of related server IDs is not limited two, but one, three ormore related server IDs can be used. The header can include the serverID, user name and other information.

The above described example embodiment can be applied to a relayapparatus, an information processing system and program, with which afile can be transmitted to a plurality of apparatuses connected todifferent networks by conducting a user operation transmitting theterminal request for one time. Because the user operation is conductedfor one time only, the user operation can become easy and a user loadcan be reduced.

Further, by deleting information of the apparatus which has competed theprocessing, an error such as putting information to the same cue twotimes can be prevented. Further, if apparatus identification informationis not included, the terminal request can be automatically deleted, withwhich a situation that the terminal request is put into any one of cuescan be prevented, and information security can be secured.

Further, by reading a code such as two dimensional code, a situationthat unrelated persons can see information of file servers can beprevented. Further, the code includes the verification information, andthe verification becomes success when the verification information isreceived with a given time period. With this configuration, informationsecurity can be secured.

In the above described example embodiment, files can be transmitted fromcommunication terminals to a plurality of apparatuses connectable viadifferent networks with less user operations.

The program can be distributed by storing the program in a storagemedium or carrier medium such as CD-ROM. Further, the program can bedistributed by transmitting signals from a given transmission device viaa transmission medium such as communication line or network (e.g.,public phone line, specific line) and receiving the signals. Whentransmitting signals, a part of data of the program is transmitted inthe transmission medium, which means, entire data of the program is notrequired to be on in the transmission medium. The signal fortransmitting the program is a given carrier wave of data signalincluding the program. Further, the program can be distributed from agiven transmission device by transmitting data of program continually orintermittently.

The present invention can be implemented in any convenient form, forexample using dedicated hardware, or a mixture of dedicated hardware andsoftware. The present invention may be implemented as computer softwareimplemented by one or more networked processing apparatuses. The networkcan comprise any conventional terrestrial or wireless communicationsnetwork, such as the Internet. The processing apparatuses can compromiseany suitably programmed apparatuses such as a general purpose computer,personal digital assistant, mobile telephone (such as a WirelessApplication Protocol (WAP) or 3G-compliant phone) and so on. Since thepresent invention can be implemented as software, each and every aspectof the present invention thus encompasses computer softwareimplementable on a programmable device.

The computer software can be provided to the programmable device usingany storage medium, carrier medium, carrier means, or digital datacarrier for storing processor readable code such as a flexible disk, acompact disk read only memory (CD-ROM), a digital versatile disk readonly memory (DVD-ROM), DVD recording only/rewritable (DVD-R/RW),electrically erasable and programmable read only memory (EEPROM),erasable programmable read only memory (EPROM), a memory card or sticksuch as USB memory, a memory chip, a mini disk (MD), a magneto opticaldisc (MO), magnetic Tape, a hard disk in a server, a solid state memorydevice or the like, but not limited these.

The hardware platform includes any desired kind of hardware resourcesincluding, for example, a central processing unit (CPU), a random accessmemory (RAM), and a hard disk drive (HDD). The CPU may be implemented byany desired kind of any desired number of processor. The RAM may beimplemented by any desired kind of volatile or non-volatile memory. TheHDD may be implemented by any desired kind of non-volatile memorycapable of storing a large amount of data. The hardware resources mayadditionally include an input device, an output device, or a networkdevice, depending on the type of the apparatus. Alternatively, the HDDmay be provided outside of the apparatus as long as the HDD isaccessible. In this example, the CPU, such as a cache memory of the CPU,and the RAM may function as a physical memory or a primary memory of theapparatus, while the HDD may function as a secondary memory of theapparatus.

In the above-described example embodiment, a computer can be used with acomputer-readable program, described by object-oriented programminglanguages such as C++, Java (registered trademark), JavaScript(registered trademark), Perl, Ruby, or legacy programming languages suchas machine language, assembler language to control functional units usedfor the apparatus or system. For example, a particular computer (e.g.,personal computer, work station) may control an information processingapparatus or an image processing apparatus such as image formingapparatus using a computer-readable program, which can execute theabove-described processes or steps. In the above described embodiments,at least one or more of the units of apparatus can be implemented inhardware or as a combination of hardware/software combination. Inexample embodiment, processing units, computing units, or controllerscan be configured with using various types of processors, circuits, orthe like such as a programmed processor, a circuit, an applicationspecific integrated circuit (ASIC), used singly or in combination.

Although the relay apparatus, information processing system and programare described as the example embodiment, numerous additionalmodifications and variations are possible in light of the aboveteachings. It is therefore to be understood that, within the scope ofthe appended claims, the disclosure of the present invention may bepracticed otherwise than as specifically described herein. For example,elements and/or features of different examples and illustrativeembodiments may be combined each other and/or substituted for each otherwithin the scope of this disclosure and appended claims.

What is claimed is:
 1. An information processing system including aplurality of apparatuses connectable via different networks, theinformation processing system comprising: a request receiver to receivea terminal request including a plurality of apparatus identificationinformation, transmitted from a communication terminal, the apparatusidentification information being used for identifying each of theplurality of apparatuses; a request processor to accumulate the receivedterminal request into one of a plurality of request accumulation unitsthat corresponds to one of the apparatus identification informationincluded in the terminal request; a request transmitter to, in responseto receiving an obtaining request for obtaining a terminal request froman apparatus identified by the apparatus identification information,transmit the terminal request accumulated in the request accumulationunit to the apparatus; a result receiver to receive a process result ofthe terminal request from the apparatus; and a result transmitter totransmit the received process result to the communication terminal,wherein, among the plurality of apparatus identification informationincluded in the terminal request, the request processor compares theplurality of apparatus identification information, and specificapparatus identification information of a first apparatus from which aprocess result is received, deletes apparatus identification informationthat matches the specific apparatus identification information, from theterminal request, and transfers the terminal request from a firstrequest accumulation unit corresponding to apparatus identificationinformation of the first apparatus, from which the process result isreceived, to a second request accumulation unit corresponding toapparatus identification information of a second apparatus, from which aprocess result is not yet received.
 2. The information processing systemof claim 1, wherein the request processor determines whether theterminal request includes apparatus identification information, and whenthe request processor determines that the terminal request does notinclude apparatus identification information, the request processordeletes the terminal request.
 3. The information processing system ofclaim 1, further comprising: a display unit configured to display a codeincluding verification information readable by the communicationterminal; and an information determination unit configured to receiveverification information from the communication terminal, and determineswhether the received verification information matches verificationinformation included in the code.
 4. The information processing systemof claim 3, further comprising a code generator to generate the codeusing the verification information.
 5. The information processing systemof claim 3, wherein the code includes a plurality of apparatusidentification information used for identifying the plurality ofapparatuses, the system further comprising: an information registrationunit to register apparatus identification information of a plurality ofapparatuses included in the code as apparatus identification informationof a plurality of apparatuses that can communicate with thecommunication terminal, when the information determination unitdetermines that the verification information received from thecommunication terminal matches the verification information included inthe code.
 6. The information processing system of claim 5, furthercomprising a request generator to generate the terminal request byadding, a plurality of apparatus identification information registeredin the information registration unit based on an input to theinformation processing system.
 7. A relay apparatus for relayingcommunication between a plurality of apparatuses and a plurality ofcommunication terminals connectable via different networks, the relayapparatus comprising: a request receiver to receive a terminal requestincluding a plurality of apparatus identification information,transmitted from the communication terminals, used for identifying eachof the plurality of apparatuses; a request processor to accumulate thereceived terminal request into a request accumulation unit correspondingto one of the plurality of apparatus identification information includedin the terminal request; a request transmitter, upon receiving anobtaining request for obtaining a terminal request from an apparatusidentified by the apparatus identification information, to transmit theterminal request accumulated in the request accumulation unit to theapparatus; a result receiver to receive a process result for theterminal request from the apparatus; and a result transmitter totransmit the received process result to the communication terminals,wherein, among the plurality of apparatus identification informationincluded in the terminal request, the request processor compares theplurality of apparatus identification information, and specificapparatus identification information of a first apparatus from which aprocess result is received, deletes apparatus identification informationmatched to the specific apparatus identification information, from theterminal request, and transfers the terminal request from a firstrequest accumulation unit corresponding to apparatus identificationinformation of the first apparatus, from which the process result isreceived to a second request accumulation unit corresponding toapparatus identification information of a second apparatus, from which aprocess result is not yet received.
 8. The relay apparatus of claim 7,wherein the request processor determines whether the terminal requestincludes apparatus identification information, and when the requestprocessor determines that the terminal request does not includeapparatus identification information, the request processor deletes theterminal request.
 9. A method of relaying communication between aplurality of apparatuses and a plurality of communication terminalsconnectable via different networks, the method comprising the steps of:receiving a terminal request including a plurality of apparatusidentification information, transmitted from the communicationterminals, used for identifying each of the plurality of apparatuses;accumulating the received terminal request into a request accumulationunit corresponding to one of the apparatus identification informationincluded in the terminal request; transmitting the terminal requestaccumulated in the request accumulation unit, upon receiving anobtaining request for obtaining a terminal request from an apparatusidentified by the apparatus identification information, to theapparatus; receiving a process result for the terminal request from theapparatus (receiving apparatus; transmitting the received process resultto at least one of the communication terminals; among the plurality ofapparatus identification information included in the terminal request,comparing the plurality of apparatus identification information includedin the terminal request, and specific apparatus identificationinformation of a first apparatus from which a process result isreceived; deleting apparatus identification information matched to thespecific apparatus identification information, from the terminalrequest; and transferring the terminal request from a first requestaccumulation unit corresponding to apparatus identification informationof the first apparatus, from which the process result is received, to asecond request accumulation unit corresponding to apparatusidentification information of a second apparatus, from which a processresult is not yet received.
 10. The method of claim 9, furthercomprising the steps of determining whether the terminal requestincludes apparatus identification information; and deleting the terminalrequest when it is determined that the terminal request does not includeapparatus identification information.